home *** CD-ROM | disk | FTP | other *** search
Java Source | 1997-07-13 | 4.1 KB | 131 lines |
- /*
- * Copyright (c) 1995-1997 Sun Microsystems, Inc. All Rights Reserved.
- *
- * Permission to use, copy, modify, and distribute this software
- * and its documentation for NON-COMMERCIAL purposes and without
- * fee is hereby granted provided that this copyright notice
- * appears in all copies. Please refer to the file "copyright.html"
- * for further important copyright and licensing information.
- *
- * SUN MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF
- * THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
- * TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
- * PARTICULAR PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR
- * ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
- * DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES.
- */
- import java.applet.*;
- import java.awt.*;
- import java.net.URL;
- import java.net.MalformedURLException;
-
- public class ShowDocument extends Applet {
- URLWindow urlWindow;
-
- public void init() {
- Button button = new Button("Bring up URL window");
- add(button);
- validate();
-
- urlWindow = new URLWindow(getAppletContext());
- urlWindow.pack();
- }
-
- public void destroy() {
- urlWindow.hide();
- urlWindow = null;
- }
-
- public boolean action(Event event, Object o) {
- urlWindow.show();
- return true;
- }
- }
-
- class URLWindow extends Frame {
- TextField urlField;
- Choice choice;
- AppletContext appletContext;
-
- public URLWindow(AppletContext appletContext) {
- super("Show a Document!");
-
- this.appletContext = appletContext;
-
- GridBagLayout gridBag = new GridBagLayout();
- GridBagConstraints c = new GridBagConstraints();
- setLayout(gridBag);
-
- Label label1 = new Label("URL of document to show:", Label.RIGHT);
- gridBag.setConstraints(label1, c);
- add(label1);
-
- urlField = new TextField("http://java.sun.com/", 40);
- c.gridwidth = GridBagConstraints.REMAINDER;
- c.fill = GridBagConstraints.HORIZONTAL;
- c.weightx = 1.0;
- gridBag.setConstraints(urlField, c);
- add(urlField);
-
- Label label2 = new Label("Window/frame to show it in:", Label.RIGHT);
- c.gridwidth = 1;
- c.weightx = 0.0;
- gridBag.setConstraints(label2, c);
- add(label2);
-
- choice = new Choice();
- choice.addItem("(browser's choice)"); //don't specify
- choice.addItem("My Personal Window"); //a window named "My Personal Window"
- choice.addItem("_blank"); //a new, unnamed window
- choice.addItem("_self");
- choice.addItem("_parent");
- choice.addItem("_top"); //the Frame that contained this applet
- c.fill = GridBagConstraints.NONE;
- c.gridwidth = GridBagConstraints.REMAINDER;
- c.anchor = GridBagConstraints.WEST;
- gridBag.setConstraints(choice, c);
- add(choice);
-
- Button button = new Button("Show document");
- c.weighty = 1.0;
- c.ipadx = 10;
- c.ipady = 10;
- c.insets = new Insets(5,0,0,0);
- c.anchor = GridBagConstraints.SOUTH;
- gridBag.setConstraints(button, c);
- add(button);
- }
-
- public boolean handleEvent(Event event) {
- if (event.id == Event.WINDOW_DESTROY) {
- hide();
- return true;
- }
- return super.handleEvent(event);
- }
-
- public boolean action(Event event, Object o) {
- if ((event.target instanceof Button) |
- (event.target instanceof TextField)) {
- String urlString = urlField.getText();
- URL url = null;
- try {
- url = new URL(urlString);
- } catch (MalformedURLException e) {
- System.out.println("Malformed URL: " + urlString);
- return true;
- }
-
- if (url != null) {
- if (choice.getSelectedIndex() == 0) {
- appletContext.showDocument(url);
- } else {
- appletContext.showDocument(url, choice.getSelectedItem());
- }
- }
- }
- return true;
- }
- }
-
-